Vuejs通过拖动改变元素宽度实现自适应
.mid{ float:left; width:35%; height:100%;background:#f00;
}
style部分:
var left = document.getElementsByClassName('left');
}
document.onmousemove = null;
var resize = document.getElementsByClassName('resize');
<li ref="resize2"></li>
.right{float:left; width:35%; height:100%; background:tomato;
var endX = e.clientX;
for (let j = 0; j < left.length; j++) {
document.onmousemove = function (e) {
<li ref="resize"></li>
export default {
<div>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
var startX = e.clientX;
<ul ref="box">
var leftW = left[i].offsetWidth;
}
<script></div>
}
}
document.onmouseup = function (evt) {
mounted () {
拖动效果的实现基本都是dom操作来实现的,通过拖动分隔线,计算分隔线与浏览器边框的距离(left),来实现拖动之后的不同宽度的计算;当拖动分隔线1时,计算元素框left和mid;当拖动分隔线2时,计算元素框mid和right;同时设置元素框最小值以防止元素框拖没了(其实是被遮住了)。使用SetCapture() 和 ReleaseCapture()的函数功能指定窗口里设置鼠标捕获。
<ul ref="box">
document.onmouseup = null;
this.dragControllerDiv();
var box = document.getElementsByClassName('box');
</style>
.left{ width:calc(30% - 10px); height:100%; background:skyblue;
<li ref="mid">备注</li>
document.onmouseup = null;
需求:
mid[j].style.width = (box[i].clientWidth - moveLen - rightW - 10) + 'px';
}
var moveLen = resize[i].left + (endX - startX);
left[j].style.width = moveLen + 'px';

methods: {
js部分代码:
}
resize[i].onmousedown = function (e) {
if (moveLen < 150) moveLen = 150;
for (let i = 0; i < resize.length; i++) {
}
}
<li ref="left">西瓜</li>
var startX = e.clientX;
<li ref="resize"></li>
padding:0;
}
if (moveLen > maxT - leftW - 150) moveLen = maxT - leftW - 150;
resize2[i].style.left = moveLen;
<li ref="mid">备注2</li>
document.onmousemove = null;
</script>
<li ref="right">test</li>
var endX = e.clientX;
var rightW = right[i].offsetWidth;
if (moveLen < 150) moveLen = 150;
resize2[i].releaseCapture && resize2[i].releaseCapture();

resize[i].style.left = moveLen;
var maxT = box[i].clientWidth - resize[i].offsetWidth;
</ul>
var right = document.getElementsByClassName('right');
if (moveLen > maxT - rightW - 150) moveLen = maxT - rightW - 150;
resize2[i].setCapture && resize2[i].setCapture();
resize[i].setCapture && resize[i].setCapture();
return false;
var mid = document.getElementsByClassName('mid');
return false;
float:left;
resize2[i].onmousedown = function (e) {
}
resize[i].releaseCapture && resize[i].releaseCapture();
}
<li ref="left">芒果</li>
}
var resize2 = document.getElementsByClassName('resize2');
<style scoped>ul,li{list-style: none;display: block;mid[j].style.width = moveLen + 'px';
var moveLen = resize2[i].left + (endX - startX) - leftW;
html部分代码:
for (let j = 0; j < right.length; j++) {
<li ref="right">test</li>
</template>
document.onmousemove = function (e) {
margin:0;
}
right[j].style.width = (box[i].clientWidth - moveLen - leftW - 10) + 'px';
document.onmouseup = function (evt) {
}
</ul>
这篇文章主要介绍了Vuejs通过拖动改变元素宽度实现自适应,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
<li ref="resize2"></li>
.resize{width:5px; height:100%; cursor: w-resize; float:left;
}
}
}
resize2[i].left = resize2[i].offsetLeft;
.box{width:800px;height:32px;overflow:hidden;
dragControllerDiv: function () {
<template>var maxT = box[i].clientWidth - resize2[i].offsetWidth - 5;
.resize2{ width:5px;height:100%; cursor: w-resize; float:left;
resize[i].left = resize[i].offsetLeft;
},
}
for (let i = 0; i < resize2.length; i++) {
}
原理:
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jz/wp/4751.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
ludou_se_only); } add_action(s
时间:2021-01-23
-
所以经常导致输错密码的
时间:2021-01-23
-
WordPress措施打开速度慢的
时间:2021-01-22
-
WordPress回覆评论自动添加
时间:2021-01-22
-
我们可以通过下面的代码
时间:2021-01-22
-
如何修改WordPress默认脚色
时间:2021-01-20
-
同样的修改文件就行
时间:2021-01-20
-
少数善意的转载者既使没
时间:2021-01-20
热门文章
-
WordPress新手安装教程(图文)
时间:2020-12-28
-
在设置菜单中增加WordPress私密 隐藏的全部
时间:2021-01-10
-
WordPress博客程序常见错误的解决方法
时间:2020-12-28
-
WordPress程序打开速度慢的三种解决方法
时间:2021-01-10
-
wordpress使用代码在每篇文章尾部添加版权
时间:2020-12-14
-
WordPress博客措施常见错误的办理要领
时间:2021-01-15
-
关于WordPress的SEO优化相关的一些PHP页面脚
时间:2021-01-07
-
WordPress措施打开速度慢的三种办理要领
时间:2021-01-22
-
详解WordPress中的头像缓存和署理中的缓存
时间:2021-01-15
-
少数善意的转载者既使没有看到版权信息
时间:2021-01-20
